import axios from 'axios'

export default{
	baseURI: "http://192.168.1.166/huayunOA",
	//baseURI: "http://192.168.1.37:8080/huayunOA",
	axiosPro : function(url, params, method,data){
		var status = 0;
		//发送ajax请求
		return axios.request({
			method: method || 'GET',
			url : url,
			//params : params,微服务参数放在了url后
			// params:params,
			baseURL: this.baseURI,
			params:params,
			data:data||"",
			timeout: 20000,
			responseType: 'json',
			headers : {
			},
			transformRequest : function(data){
					// 这里可以在发送请求之前对请求数据做处理，比如form-data格式化等，这里可以使用开头引入的Qs（这个模块在安装axios的时候就已经安装了，不需要另外安装）
		        let ret = ''
		        for (let it in data) {
		          ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
		        }
		        return ret;
			},
			transformResponse : function(response){
				// 这里提前处理返回的数据
				if(response&&response.status&&response.status==='01'){
					window.localStorage.removeItem('hyoaTK');
					window.location.href='/module/login.html';
				}
				var res;
				if(typeof(response)==='string'){
					res=JSON.parse(response);
				}else{
					res=response;
				}
				var result = {
					status : status,
					data : res
				};
				return result;
			},
			validateStatus: function (state) {
				//请求返回状态
				status = state;
    			return state >= 200 && state < 300;
			}
		});
	},
  //以FormData形式发送POST请求，可用来上传文件
  axiosPostFormData : function(url,form){
    //发送ajax请求
    return axios.post(
      url,
      form,
      {
        method: 'post',
        baseURL: this.baseURI,
        headers: {"Content-Type": "multipart/form-data"},
        transformRequest : function(data){
          // 这里可以在发送请求之前对请求数据做处理，比如form-data格式化等，这里可以使用开头引入的Qs（这个模块在安装axios的时候就已经安装了，不需要另外安装）
          if(data && data instanceof FormData){
          }else{
            let formdata = new FormData();
            let i = 0;
            for (let it in data) {
              formdata.append(it, data[it]);
            }
            return formdata;
          }
          return data;
        },
        transformResponse : function(response){
          // 这里提前处理返回的数据
          if(response&&response.status&&response.status==='01'){
            window.localStorage.removeItem('hyoaTK');
            window.location.href='/module/login.html';
          }
          var res;
          if(typeof(response)==='string'){
            res=JSON.parse(response);
          }else{
            res=response;
          }
          var result = {
            status : status,
            data : res
          };
          return result;
        }
      }
    );
  }
}
